package jpa.entitys.promis.common;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;

import jpa.entitys.common.CommonEntity;


/**
 * The persistent class for the COST_PROJECT database table.
 * 
 */
@Entity
@Table(name="COST_PROJECT")
@NamedQueries({
    @NamedQuery(name = "CostProject.findAll", query = " SELECT c FROM CostProject c "),
    @NamedQuery(name = "CostProject.findById", query = " SELECT c FROM CostProject c WHERE c.id = :Id "),
    @NamedQuery(name = "CostProject.findByPlant", query = " SELECT c FROM CostProject c WHERE c.sapPlantCode = :sapPlantCode "),
    @NamedQuery(name = "CostProject.findByStatus", query = " SELECT c FROM CostProject c WHERE c.syncIssync = 'N' And c.status = :status"),
})
public class CostProject extends CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private CostProjectPK id;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(length=10)
	private String appointee;

	@Column(name="ARTICLE_LEADTIME", precision=10, scale=4)
	private BigDecimal articleLeadtime;

	@Column(name="BUDGET_MANAGEMENT", length=1)
	private String budgetManagement;

	@Column(name="CONDOMINIUM_REGISTRATION_NO", length=30)
	private String condominiumRegistrationNo;

	@Column(name="CONSTRUCTION_VAT", length=1)
	private String constructionVat;

	@Column(name="COST_PROJECT_ID1", length=100)
	private String costProjectId1;

	@Column(name="CREATED_BY")
	private String createdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	@Column(name="EMAIL_NO", length=100)
	private String emailNo;

	@Column(name="FAX_NO", length=100)
	private String faxNo;

	@Column(name="JURISTIC_PERSON_NAME", length=255)
	private String juristicPersonName;

	@Column(name="LAND_OFFICE_ID", length=7)
	private String landOfficeId;

	@Column(name="LAND_PRICE_SQW", precision=22)
	private BigDecimal landPriceSqw;

	@Column(name="LAND_VAT", length=1)
	private String landVat;

	@Column(name="LAST_UPD_BY", length=30)
	private String lastUpdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(name="OWNER_NAME", length=300)
	private String ownerName;

	@Column(name="PROJECT_AREA", length=255)
	private String projectArea;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="PROJECT_END_DATE")
	private Date projectEndDate;

	@Column(name="PROJECT_ID", length=100)
	private String projectId;

	@Column(name="PROJECT_LOCATION", length=300)
	private String projectLocation;

	@Column(name="PROJECT_LOCATION_ALT", length=255)
	private String projectLocationAlt;

	@Column(name="PROJECT_MANAGER_ID")
	private String projectManagerId;

	@Column(name="PROJECT_NAME", length=300)
	private String projectName;

	@Column(name="PROJECT_NAME_ALT", length=255)
	private String projectNameAlt;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="PROJECT_START_DATE")
	private Date projectStartDate;

	@Column(name="PROMOTION_VAT", length=1)
	private String promotionVat;

	@Column(name="SAP_PLANT_CODE", length=4)
	private String sapPlantCode;

	@Column(name="SEQ_NO", precision=22)
	private BigDecimal seqNo;

	@Column(name="SERVICE_VAT", length=2)
	private String serviceVat;

	@Column(name="STANDARD_COST_MARKUP", precision=22)
	private BigDecimal standardCostMarkup;

	@Column(length=1)
	private String status;

	@Column(name="SYNC_CREATEDBY", length=100)
	private String syncCreatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY", length=100)
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO", length=100)
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSYNC", length=1)
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY", length=100)
	private String syncUpdatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

	@Column(name="TELEPHONE_NO", length=100)
	private String telephoneNo;

	@Column(name="TITLE_DEED_NO", length=255)
	private String titleDeedNo;
	
	@Column(name="SYNC_ISSTAGING", length=255)
	private String syncIsStaging;

	@Column(name="TOTAL_COST", precision=22)
	private BigDecimal totalCost;

	@Column(name="TOTAL_LABOUR", precision=22)
	private BigDecimal totalLabour;

	@Column(name="TOTAL_MATERIAL", precision=22)
	private BigDecimal totalMaterial;

	@Column(name="TOTAL_SALE_PRICE", precision=22)
	private BigDecimal totalSalePrice;
	
	@Column(name="SAP_COMPANY_CODE")
	private String sapCompanyCode;

    public CostProject() {
    }    
    
    
    
	/**
	 * @return the sapCompanyCode
	 */
	public String getSapCompanyCode() {
		return sapCompanyCode;
	}



	/**
	 * @param sapCompanyCode the sapCompanyCode to set
	 */
	public void setSapCompanyCode(String sapCompanyCode) {
		this.sapCompanyCode = sapCompanyCode;
	}



	/**
	 * @return the syncIsStaging
	 */
	public String getSyncIsStaging() {
		return syncIsStaging;
	}

	/**
	 * @param syncIsStaging the syncIsStaging to set
	 */
	public void setSyncIsStaging(String syncIsStaging) {
		this.syncIsStaging = syncIsStaging;
	}



	public CostProjectPK getId() {
		return this.id;
	}

	public void setId(CostProjectPK id) {
		this.id = id;
	}
	
	public String getAppointee() {
		return this.appointee;
	}

	public void setAppointee(String appointee) {
		this.appointee = appointee;
	}

	public BigDecimal getArticleLeadtime() {
		return this.articleLeadtime;
	}

	public void setArticleLeadtime(BigDecimal articleLeadtime) {
		this.articleLeadtime = articleLeadtime;
	}

	public String getBudgetManagement() {
		return this.budgetManagement;
	}

	public void setBudgetManagement(String budgetManagement) {
		this.budgetManagement = budgetManagement;
	}

	public String getCondominiumRegistrationNo() {
		return this.condominiumRegistrationNo;
	}

	public void setCondominiumRegistrationNo(String condominiumRegistrationNo) {
		this.condominiumRegistrationNo = condominiumRegistrationNo;
	}

	public String getConstructionVat() {
		return this.constructionVat;
	}

	public void setConstructionVat(String constructionVat) {
		this.constructionVat = constructionVat;
	}

	public String getCostProjectId1() {
		return this.costProjectId1;
	}

	public void setCostProjectId1(String costProjectId1) {
		this.costProjectId1 = costProjectId1;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public String getEmailNo() {
		return this.emailNo;
	}

	public void setEmailNo(String emailNo) {
		this.emailNo = emailNo;
	}

	public String getFaxNo() {
		return this.faxNo;
	}

	public void setFaxNo(String faxNo) {
		this.faxNo = faxNo;
	}

	public String getJuristicPersonName() {
		return this.juristicPersonName;
	}

	public void setJuristicPersonName(String juristicPersonName) {
		this.juristicPersonName = juristicPersonName;
	}

	public String getLandOfficeId() {
		return this.landOfficeId;
	}

	public void setLandOfficeId(String landOfficeId) {
		this.landOfficeId = landOfficeId;
	}

	public BigDecimal getLandPriceSqw() {
		return this.landPriceSqw;
	}

	public void setLandPriceSqw(BigDecimal landPriceSqw) {
		this.landPriceSqw = landPriceSqw;
	}

	public String getLandVat() {
		return this.landVat;
	}

	public void setLandVat(String landVat) {
		this.landVat = landVat;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public String getOwnerName() {
		return this.ownerName;
	}

	public void setOwnerName(String ownerName) {
		this.ownerName = ownerName;
	}

	public String getProjectArea() {
		return this.projectArea;
	}

	public void setProjectArea(String projectArea) {
		this.projectArea = projectArea;
	}

	public Date getProjectEndDate() {
		return this.projectEndDate;
	}

	public void setProjectEndDate(Date projectEndDate) {
		this.projectEndDate = projectEndDate;
	}

	public String getProjectId() {
		return this.projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public String getProjectLocation() {
		return this.projectLocation;
	}

	public void setProjectLocation(String projectLocation) {
		this.projectLocation = projectLocation;
	}

	public String getProjectLocationAlt() {
		return this.projectLocationAlt;
	}

	public void setProjectLocationAlt(String projectLocationAlt) {
		this.projectLocationAlt = projectLocationAlt;
	}

	public String getProjectManagerId() {
		return this.projectManagerId;
	}

	public void setProjectManagerId(String projectManagerId) {
		this.projectManagerId = projectManagerId;
	}

	public String getProjectName() {
		return this.projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public String getProjectNameAlt() {
		return this.projectNameAlt;
	}

	public void setProjectNameAlt(String projectNameAlt) {
		this.projectNameAlt = projectNameAlt;
	}

	public Date getProjectStartDate() {
		return this.projectStartDate;
	}

	public void setProjectStartDate(Date projectStartDate) {
		this.projectStartDate = projectStartDate;
	}

	public String getPromotionVat() {
		return this.promotionVat;
	}

	public void setPromotionVat(String promotionVat) {
		this.promotionVat = promotionVat;
	}

	public String getSapPlantCode() {
		return this.sapPlantCode;
	}

	public void setSapPlantCode(String sapPlantCode) {
		this.sapPlantCode = sapPlantCode;
	}

	public BigDecimal getSeqNo() {
		return this.seqNo;
	}

	public void setSeqNo(BigDecimal seqNo) {
		this.seqNo = seqNo;
	}

	public String getServiceVat() {
		return this.serviceVat;
	}

	public void setServiceVat(String serviceVat) {
		this.serviceVat = serviceVat;
	}

	public BigDecimal getStandardCostMarkup() {
		return this.standardCostMarkup;
	}

	public void setStandardCostMarkup(BigDecimal standardCostMarkup) {
		this.standardCostMarkup = standardCostMarkup;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public String getTelephoneNo() {
		return this.telephoneNo;
	}

	public void setTelephoneNo(String telephoneNo) {
		this.telephoneNo = telephoneNo;
	}

	public String getTitleDeedNo() {
		return this.titleDeedNo;
	}

	public void setTitleDeedNo(String titleDeedNo) {
		this.titleDeedNo = titleDeedNo;
	}

	public BigDecimal getTotalCost() {
		return this.totalCost;
	}

	public void setTotalCost(BigDecimal totalCost) {
		this.totalCost = totalCost;
	}

	public BigDecimal getTotalLabour() {
		return this.totalLabour;
	}

	public void setTotalLabour(BigDecimal totalLabour) {
		this.totalLabour = totalLabour;
	}

	public BigDecimal getTotalMaterial() {
		return this.totalMaterial;
	}

	public void setTotalMaterial(BigDecimal totalMaterial) {
		this.totalMaterial = totalMaterial;
	}

	public BigDecimal getTotalSalePrice() {
		return this.totalSalePrice;
	}

	public void setTotalSalePrice(BigDecimal totalSalePrice) {
		this.totalSalePrice = totalSalePrice;
	}

}